e1f3c8
@@ -225,6 +225,18 @@
public class HBaseInterClusterReplicationEndpoint extends HBaseReplicationEndpoi
     return entryLists;
   }
 
+  private void reconnectToPeerCluster() {
+    ClusterConnection connection = null;
+    try {
+      connection = (ClusterConnection) ConnectionFactory.createConnection(this.conf);
+    } catch (IOException ioe) {
+      LOG.warn("Failed to create connection for peer cluster", ioe);
+    }
+    if (connection != null) {
+      this.conn = connection;
+    }
+  }
+
   /**
    * Do the shipping logic
    */
@@ -256,6 +268,9 @@
public class HBaseInterClusterReplicationEndpoint extends HBaseReplicationEndpoi
         }
         continue;
       }
+      if (this.conn == null || this.conn.isClosed()) {
+        reconnectToPeerCluster();
+      }
       try {
         int futures = 0;
         for (int i=0; i<batches.size(); i++) {
